Reformulating Generalized Eigenvalue Problems

The generalized eigenvalue problem Ax = λBx is often difficult to analyze because it is frequently ill-conditioned. Occasionally, there are changes of variables that can be performed on the given problem to ease this ill-conditioning. Using an example where B is singular, but A is nonsingular, define the reciprocal μ = λ–1, then the roles of A and B are interchanged so that the reformulated problem Bx = μAx is solved. Those generalized eigenvalues μj = 0 correspond to eigenvalues λj = infinity. The remaining λj = μj –1. The generalized eigenvectors for λj correspond to those for μj.

If B is nonsingular, you can solve the ordinary eigenvalue problem Cx = λx, where C = B–1A. Matrix C is subject to perturbations due to ill-conditioning and rounding errors when computing B–1A. Computing condition numbers of the eigenvalues for C may, however, be helpful for analyzing the accuracy of results for the generalized problem.

Another method to consider to reduce the generalized problem to an alternate ordinary problem: first compute a matrix decomposition B = PQ, where both P and Q are matrices that are “simple” to invert. Then, the given generalized problem is equivalent to the ordinary eigenvalue problem Fy = λy. The matrix F = P–1AQ–1 and the unnormalized eigenvectors of the generalized problem are given by x = Q–1y. An example of this reformulation is used in the case where A and B are real and symmetric, with B positive definite. IMSL_EIGSYMGEN uses P = RT and Q = R, where R is an upper-triangular matrix obtained from a Cholesky decomposition, B = RTR. The matrix F = R–TAR–1 is symmetric and real. Computation of the eigenvalueeigenvector expansion for F is based on the IMSL_EIG function.